# 查找
a = '今天是2025年4月27日'
print(a.find('4'))  # 返回第一次出现该子串的正向索引位置，8
print(a.find('2025'))
print(a.find('二零二六'))  # -1不存在，正向索引为-1

# 指定区间来查找，左闭右开，范围start <= range < end
print(a.find('4', 8))  # 从正向索引8（包含）开始到最后的这个范围取查找
print(a.find('4', 0, 9))

# 替换
b = '  这里是  湖北 宜昌 三峡 大学科技学 院  '
print(b.replace(' ', ''))
print(b.replace(' ', '', 1))  # 从左往右，替换count次

# 分割
c = '/src/com/example/Main.java'
temp = c.split('/')
print(type(temp))  # list
print(temp)  # ['', 'src', 'com', 'example', 'Main.java']
print(c.split())  # 集合中一个元素

# 拼接
print('/'.join(temp))  # 将'/'插入到序列的每两个相邻元素中

# 删除指定字符
d = '  这里是  湖北 宜昌 三峡 大学科技学 院  '
print(d.strip())  # 删除首位（左右2端）的指定字符串，默认删空格
print(d.lstrip())  # 删左边
print(d.rstrip())  # 删右边

# 字母大小转换
e = 'Python是一门面向对象的解释型编程语言，常用的开发工具是PyCharm'
print(e.upper())  # 转大写
print(e.lower())  # 转小写
print(e.capitalize())  # 第一个字母大写，后续所有字母小写
print(e.title())  # 单词的首字母大写，剩余字母小写

# 字符串对齐
print('Hello Python'.center(30, '-'))
print('abc'.center(30, '-'))
print('abcdefghijklmnopqrstuvwxyz'.center(30, '-'))

h1 = 'abc'
h2 = 'xyzabc'
h3 = 'adsadaadad'
print(f'{h1.ljust(30, '.')}{'9'.rjust(5, '.')}')
print(f'{h2.ljust(30, '.')}{'10'.rjust(5, '.')}')
print(f'{h3.ljust(30, '.')}{'11'.rjust(5, '.')}')

# 切片
str = 'Python是一门面向对象的解释型编程语言，常用的开发工具是PyCharm'
print(str[0])  # 通过索引取值，索引范围0 ~ length - 1
print(str[len(str) - 1])
print(str[-len(str)])  # 第一个字符P
print(str[-1])  # 最后一个字符m

# 指定范围取值，左闭右开，从开始的位置（包含）到结束的位置前一个
print(str[0:6])  #
print(str[:6])  # 初始位置是0可以省略
print(str[20:])
print(str[:])  # 冒号前面默认是0，冒号后面默认是长度
print(str[-5:-3])  # 对
print(str[-3:-5])  # 错的